import profile as pf
from memory_profiler import profile


@profile()
def func():
    a = 0
    b = 0
    for i in range(100):
        a *= i
        b += 1
    return a


"""
给需要打印内存情况的添加注解@profile()，然后执行pf.run('函数名')
"""
pf.run('func()', sort='tottime')

"""
安装
pip install pytest
pip install psutil
pip install memory_profiler

输出日志说明

内存:
Mem usage: 内存占用情况
Increment: 执行该行代码后新增的内存

cpu:
ncalls ： 函数的被调用次数
tottime ：函数总计运行时间，除去函数中调用的函数运行时间
percall ：函数运行一次的平均时间，等于tottime/ncalls
cumtime ：函数总计运行时间，含调用的函数运行时间
percall ：函数运行一次的平均时间，等于cumtime/ncalls
filename:lineno(function) 函数所在的文件名，函数的行号，函数名
"""
